package com.mxpio.erp.common.equipment.vo;

import com.mxpio.erp.common.equipment.entity.EquipmentMaterial;
import com.mxpio.erp.common.equipment.entity.EquipmentMerchants;
import com.mxpioframework.security.annotation.Dict;
import com.mxpioframework.security.entity.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;


@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
public class EquipmentStockRkApplyItemDTO extends BaseEntity {

    private String id;

    /**
     * 入库单ID
     */
    private String applyId;

    /**
     * 批次号
     */
    private String batchNo;

    /**
     * 备品
     */
    @Dict(dicCode = "id", dicText = "name", dicEntity = EquipmentMaterial.class)
    private String materialsId;

    /**
     * 实际价值
     */
    private BigDecimal realPrice;

    /**
     * 入库数量
     */
    private Integer quantity;

    /**
     * 金额
     */
    private BigDecimal amount;

    /**
     * 入库类型
     */
    // todo entity缺失
//    @Dict(dicCode = "id",dicText = "inout_type_name",dicEntity = EquipmentStockTypeInout.class)
    private String rkTypeId;

    /**
     * 状态
     */
    @Dict(dicCode = "ERP_EQUIPMENT_RK_STATUS")
    private Integer status;

    /**
     * 供应商
     */
    @Dict(dicCode = "id", dicText = "name", dicEntity = EquipmentMerchants.class)
    private String vendorId;

    /**
     * 备注
     */
    private String remark;

    /**
     * 版本
     */
    private Integer version;

    /**
     * 备品
     */
    private String materialsName;

    /**
     * 备品号
     */
    private String materialsCode;

    /**
     * 备品
     */
    private String materialsType;

    /**
     * 品牌
     */
    private String materialsBrand;

    /**
     * 规格型号
     */
    private String materialsSpec;

    /**
     * 单位
     */
    private String materialsUnit;

    /**
     * 预估单价
     */
    private BigDecimal materialsEsPrice;

    /**
     * 已接收数量
     */
    private Integer receivedNum;

}
